package net.cathackers.devel.scmp.chat.interfaces;

import net.cathackers.devel.scmp.auth.interfaces.UserID;
import net.cathackers.devel.scmp.chat.impl.groupchat.GroupChat;
import net.cathackers.devel.scmp.xmpp.MessagePacket;
import net.cathackers.devel.scmp.xmpp.Packet;
import net.cathackers.devel.scmp.xmpp.PresencePacket;

public interface GroupChatManager {
    public GroupChat createGroupchat(String groupName);

    public boolean removeGroupChat(GroupChat group);

    public void joinGroupChat(GroupChat group, PresencePacket packet);

    public void leaveGroupChat(GroupChat group, UserID userID);

    public GroupChat getGroupChat(String name);

    public void handlePresence(PresencePacket presence);

    public void handleMessage(MessagePacket message);

    public boolean isGroupChatRequest(Packet packet);

}
